Resource allocation in a wireless communication system

ABSTRACT

Method and apparatus for scheduling transmissions in a wireless communication system using historical information and usage patterns of remote users in the system. Usage patterns for users within a system are stored and analyzed to optimize transmissions and resources in the system. In one embodiment, the user patterns are used to predict travel routes and transmissions scheduled accordingly. In another embodiment, the system is an ad-hoc system or a hybrid system, wherein the usage patterns are used to determine the source-to-destination paths.

BACKGROUND

[0001] 1. Field

[0002] The present invention relates to resource allocation in awireless communication system, and more specifically to scheduling oftransmissions to multiple users as a function of user historicalinformation.

[0003] 2. Background

[0004] Emerging high-speed data networks attempt to balance efficientresource allocation with the provision of fair service to a variety ofusers. Many variables complicate this balancing effort. For example, inmany communication systems, users are provided a variety of serviceoptions. Those users that subscribe to higher premiums for fasterconnections expect to have priority over users that subscribe to lowerpremiums. Similarly, data rate requirements of the various servicesprovided require the system to adapt to the actual usage as well aspotential usage of the system at any given time. Further, packettransmissions are constrained to specified packet delay requirements inparticular to real-time data users, such as in a broadcast transmission.Still further, optimization of the quality of service to each user isfundamental to maintaining users in a communication system. Quality ofService, or QoS, of a wireless channel is typically different fordifferent users, and randomly changes with time.

[0005] As the use of portable computers, smart wireless phones, andpersonal digital assistants increase, the multimedia services demandwill likely overwhelm the resources of current wireless networks. It isimportant to exploit all available information when considering ways todeliver the quality of service that end users expect. If the systemknows that for the next few seconds the channel conditions is notfavorable to send a specific data rate or there will be too manyhandoffs that consumes additional resources and hence does not transmitto the wireless device until conditions have improved. Here lies thetradeoff in which the scheduler must decide whether it is efficient totransmit to a particular wireless device even when that decision maydecrease the instantaneous channel throughput. Efficient data schedulingtechniques are designed to meet the various needs of resource allocationand fairness and minimize interference to other users. There are avariety of scheduling techniques and algorithms available to meet suchneeds. Most of these algorithms consider the currently pending data raterequests and the current channel conditions of the system. Developing ascheduling technique that responds to the condition of the currentsystem incurs a delay, as the system controller must receive suchinformation prior to making scheduling decisions. As the number of usersdesiring data services increases, such delays may negatively impact thequality of service of said system. In addition, knowing the usagepatterns of wireless users one can design more efficient assignmentstrategies. For example, knowing the average hold time of data call fora user at specific times of the day can be used to influence theassignment strategy of the data bursts.

[0006] There is, therefore, a need in the art to allocate resources in acommunication system and avoid part or all of the delay incurred byresponding to the current state of a communication system and meantimeminimize interference to other users. Still further, there is a need touse historical information to predict trends of usage and act a priorito the system state. Additionally, there is a need to predict a futurecondition of the system including the state of the communicationchannel(s), and available resources for application in schedulingalgorithms. Furthermore, there is a need to utilize knowledge aboutusage patterns to develop efficient assignment strategies.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is an illustration of a communication network supportinghigh data rate communications.

[0008]FIG. 2 is an illustration of a communication system topography,wherein multiple user usage history is superimposed over the topography.

[0009]FIG. 3 is table illustrating subscriber usage in a communicationsystem as in FIG. 2.

[0010]FIG. 4 is a method for scheduling data transmissions in acommunication system.

[0011]FIG. 5 is a method for maintaining a database of user profileinformation in a communication system.

[0012]FIG. 6 is a communication control unit.

[0013]FIG. 7 is a wireless device.

[0014]FIG. 8 is an illustration of a communication system topographydivided into bins.

[0015]FIG. 9 is an ad hoc network.

[0016]FIG. 10 is an illustration of a communication system topographyincluding an ad hoc network, with the network divided into bins.

[0017]FIG. 11 illustrates data processing paths in a communicationnetwork.

DETAILED DESCRIPTION

[0018] Cellular radio provides mobile telephone service by employing anetwork of cell sites distributed over a wide area. A cell site containsa radio transceiver and a base station controller which manages, sends,and receives traffic from the mobiles in its geographical area to acellular telephone switch. It also employs a tower and its antennas, andprovides a link to the distant cellular switch called a MobileTelecommunications Switching Office (MTSO). This MTSO places calls fromland based telephones to wireless customers, switches calls betweencells as mobiles travel across cell boundaries, and authenticateswireless customers before they make calls.

[0019] The processing routes for data with a communication system 800are illustrated in FIG. 11. A subscriber unit 820 is in wirelesscommunication with Radio Access Network (RAN) 806. The RAN 806 mayprocess information packet switch core network 804 or the circuit switchcore network 808. The packet switch core network 804 supports packetizeddata communications, such as communications with the Internet 802. Thecircuit switch core network 808 supports voice and data communicationsvia a public switching telephone network 810.

[0020] Complex signaling routines handle call placements, call requests,handovers, or call transfers from one cell to another, and roaming,moving from one carrier's area to another. Different cellular radiosystems use Frequency Division Multiple Access (referred to a FDMA andis typically analog), Time Division Multiple Access (TDMA), and spreadspectrum such as Code Division Multiple Access (CDMA) techniques.

[0021] Throughout the following discussion a CDMA communication systemis considered; however, the invention is applicable to any multipleaccess technology that provides wireless service that is delayinsensitive. A CDMA system may be designed to support one or morestandards, such as: (1) the “TIA/EIA/IS-95-B Mobile Station-Base StationCompatibility Standard for Dual-Mode Wideband Spread Spectrum CellularSystem” referred to herein as the IS-95 standard; (2) the standardoffered by the consortium named “3^(rd) Generation Partnership Project”referred to herein as 3GPP, and embodied in a set of documents includingDocument Nos. 3G TS 25.211, 3G TS 25.212, 3G TS 25.213, 3G TS 25.214,and 3G TS 25.302 referred to herein as the W-CDMA standard; and (3) thestandard offered by a consortium named “3^(rd) Generation PartnershipProject 2” referred to herein as 3GPP2 and Document No. TR-45.5 referredto herein as the cdma2000 standard (formerly called IS-2000 MC). Theseare provided as examples of spread spectrum systems.

[0022] Systems, such as those given hereinabove, as well as othersystems, may also provide High Data Rate (HDR) service. An example is asystem that supports the standard “TIA/EIA/IS-856 cdma2000 High RatePacket Data Air Interface Specification” referred to herein as the HDRstandard and “TIA/EIA/IS-856-1 cdma2000 High Rate Packet Data AirInterface Specification Addendum” referred to herein as the HDRaddendum. An HDR subscriber station, referred to herein as an AccessTerminal (AT), may be mobile or stationary, and may communicate with oneor more HDR base stations, referred to herein as Modem Pool Transceivers(MPTs).

[0023]FIG. 1 illustrates an architectural reference model 10 of acommunication system supporting HDR. An AT 12 communicates with an AN 14via an air interface. The AT 12 is a device providing data connectivityto a user. The AT 12 may be connected to a computing device such aslaptop personal computer or it may be a self-contained device such as aPersonal Digital Assistant (PDA). An AT 12 is similar to a MobileStation (MS). An AN 14 is the network equipment providing dataconnectivity between a packet-switched data network (typically theInternet) and the ATs, such as AT 12. An AN 14 is similar to a BaseStation (BS).

[0024] An access terminal transmits and receives data packets throughone or more modem pool transceivers to an HDR base station controller,referred to herein as a Modem Pool Controller (MPC). Modem pooltransceivers and modem pool controllers are parts of a network called anaccess network. An access network transports data packets betweenmultiple access terminals.

[0025] The access network may be further connected to additionalnetworks outside the access network, such as a corporate intranet or theInternet, and may transport data packets between each access terminaland such outside networks. An access terminal that has established anactive traffic channel connection with one or more modem pooltransceivers is called an active access terminal, and is said to be in atraffic state. An access terminal that is in the process of establishingan active traffic channel connection with one or more modem pooltransceivers is said to be in a connection setup state. An accessterminal may be any data device that communicates through a wirelesschannel or through a wired channel, for example using fiber optic orcoaxial cables. An access terminal may further be any of a number oftypes of devices including but not limited to PC card, compact flash,external or internal modem, or wireless or wireline phone. Thecommunication link through which the access terminal sends signals tothe modem pool transceiver is called a reverse link. The communicationlink through which a modem pool transceiver sends signals to an accessterminal is called a forward link. The term data may generally refer topacket data.

[0026] The systems described hereinabove are given as examples and thepresent invention is also applicable to any communication system thatallocates resources to multiple users. The embodiments presented hereinare applicable to any of multiple communication systems that scheduletransmissions to multiple users.

[0027] Many system models and algorithms seek to solve resourceallocation and resource management problems in communication systems.For example, one algorithm, referred to as the Proportional Fairalgorithm, uses the requested data rates specified in a Data RateControl (DRC) message to maximize the sum data rate of the transmissionsto all users while ensuring that the ratio of the transmission rates toany two users satisfies a predetermined Grade of Service (GoS). Othermethods and algorithms are described in “Method and Apparatus forScheduling Transmissions in a Communication System” having U.S. patentapplication Ser. No. 09/974,933, by Rajesh Pankaj, filed on Apr. 12,2001, and assigned to the assignee hereof, which is hereby expresslyincorporated by reference. Many of these algorithms require state of thesystem information, such as requested data rate, and/or channelcondition information, such as Carrier to Interference ratio (C/I). Theembodiments presented herein seek to avoid the need for such informationin projecting a scheduling plan.

[0028] To avoid the problems of traditional scheduling systems, andprovide a more efficient and accurate method for allocating resources, asystem and method for location-based assignment strategy and schedulingalgorithms to be used for data applications is presented. The systememploys a database that is indexed by location of the wireless device.Such a database may be used for scheduling transmissions, determiningand controlling handoff, control decisions for power control, channelassignment strategies, as well as for many other purposes. The databaseis always kept up to date by continuously collecting measurements fromall active terminals. The application of historical user information mayserve as an enhancement to existing methods for these applications, suchas scheduling. The added information may serve to fine-tune the controlprocedures and decisions, as well as to optimize algorithms andtechniques.

[0029] Many data applications rely on the ability of the network toprovide Quality-of-Service (QoS) guarantees. These guarantees areusually in the form of bounds on end-to-end delay, bandwidth, variationin delay (delay jitter), packet loss rate, connection loss or acombination of these parameters. Providing QoS guarantees in a packetnetwork requires a sound channel assignment strategy and the use oftraffic scheduling algorithm in the routers (base station controllers orswitches). The function of the channel assignment block is to executethe channel assignment strategy. Different strategies may be used suchas infinite duration, pseudo-infinite duration and fixed durationassignments. The function of the scheduling algorithm is to select, foreach outgoing channel of the router, the packet to be transmitted in thenext cycle from the available packets belonging to the flows sharing thechannel.

[0030] A database containing the features of the received signal can beused to determine the location of wireless devices. These databases arethen indexed according to some features of the signals, such as signalstrength received by the wireless device or the base station, number ofpilots seen by the wireless device, strength of each pilot, multipathcharacteristics, etc.

[0031] The inverse process is useful too, wherein a similar database isindexed by the location of the wireless device and may be used to learnabout the features of the received signal. Furthermore, these databasesmay be used to predict the future of the received signal features (e.g.,predict the behavior of the channel). Both short and long-termprediction is possible if the trajectory of the movement of the deviceis known.

Scheduling

[0032] In one embodiment, the channel assignment strategy and optimumscheduling algorithms for data applications in third generation wirelesssystems (3G) are optimized by use of such a database. As an example,FIG. 2 illustrates topography of a wireless communication system, suchas a system supporting data transmissions. The system 100 includesmultiple base stations or ANs, of which two are illustrated, BS 102,120. Each of BS 102, 120 has an associated range of service labeled cell1, cell 2, respectively. The trajectory of daily usage for three usersis superimposed over the layout. A first user, USER 1, moves from pointA 104 to point B 106 at a specified time each workday. While there issome range of times each day, as well as some variation on the pathtaken, on average USER 1 moves from point A 104 to point B 106 atapproximately the same time each day. Note that USER 1 may have otherpatterns of use which are not illustrated in FIG. 2. The illustratedtrajectory for USER 1 remains fully within cell 1. A second user, USER2, moves from point C 108 to point F 114 each workday. In this case,point C 108 is within cell 1, and point F 114 is within cell 2. A thirduser, USER 3 moves from point D 110 to point E 112. Again, thetrajectory for USER 3 starts in cell 1 and travels to cell 2.

[0033] The user trajectories and data compiled are developed bymonitoring each user's access to the communication system. Thetrajectories are determined specifically based on known geographicalinformation, such as maps which may be stored in a GeographicalInformation System (GIS). The process first determines the location of auser at the start of a communication. This may be done by the user ofGlobal Positioning System(s) (GPS) which identify each user's locationby longitude, latitude, and height. This assumes the user is travelingin an automobile or other vehicle. GPS is a satellite navigation system.GPS provides specially coded satellite signals that can be processed ina GPS receiver, enabling the receiver to compute position, velocity andtime. The location of the user is then monitored throughout thecommunication and matched to roads and streets known in the area. Inthis way, a projected trajectory is compiled. Using the GPS and GISinformation, it is possible to predict the movement of a given userduring a communication. Adding to this information, traffic patterns,delays, accidents, outages, etc., a better estimation of the trajectoryand travel time is made.

[0034] Knowledge of the current and previous positions of the wirelessdevice may be used to predict the trajectory of the motion of thedevice. The trajectory is identified according to known geographicalfeatures, such as mountains, buildings, and other considerations thataffect the channel quality. The trajectory may be used along with otherinformation stored in the database to predict the received signalfeatures at the wireless device. In a CDMA network, for example,database information may include but not be limited to, pilot signalstrength, rate of change of pilot strengths, number of pilots, soft andhard handoff regions, etc. The predicted signal features may then beused intelligently for both channel assignment strategy and schedulingalgorithms for data applications.

[0035] For example, if it is projected that the wireless device willtravel through an area that is know to have many successful handoffs ina very short period of time, the scheduler could delay assigning timeslots until the wireless device passes through the area or assign dataat a lower rate with shorter bursts. On the other hand if it isprojected that the wireless device will travel through an area withstale channel conditions, the scheduler may assign maximum data rateswith longer bursts.

[0036] Similarly, if the wireless device is about to move into an areawhere it is known from the signal features database that the receivedsignal strength gets weak for a short period of time (short termcoverage hole), the system may not assign a channel for this period oftime. Or it may assign a channel at a lower rate until the wirelessdevice passes this specific area. Both the scheduler and channelassignment algorithms may take advantage of the a priori knowledge ofthe channel conditions. Issues such as the size of the area with weaksignal strength and the depth of fades should be taken intoconsideration for assigning the channel and scheduling the time slot todeliver the data to the wireless device. Note that there may be morethan one database; one for different seasons of the year, one fordifferent times of the day (rush-hour vs. normal hours), one fordifferent system loading conditions, etc.

[0037] The database categories of one embodiment are illustrated in FIG.3, having a variety of fields. Information is stored for each user, anda separate entry is made for multiple accesses to the communicationsystem. Alternate embodiments may employ a variety of methods forstoring information as well as selecting different field categories. Thestart location and end location of the trajectory are identified. Notethat these may include subfields to monitor the travel of each user, ormay include subfields that mark the start and end of each communicationaccess. Similarly, an individual access may be broken into portions,such as for a long transmission along a trajectory experiencing changingchannel conditions. As illustrated, USER 1 accesses the communicationsystem two times on the commute from home, point A 104, to work, point B108. The users may access a variety of services. Fields are provided toindicate the system loading during each access. The call historyindicates the time of each access and may be stored using a militaryclock over a day, week, month, etc. Additionally, the data rate, channelquality, and service type information is stored for each access. Thechannel quality is available as feedback from the user. Furthermore, theusage pattern of the subscriber can be utilized to manage systemresources on a sector basis. For example, to reserve more resources forvoice usage in areas and time of day where voice is the most requestedservice and to reserve more resources for data usage in areas and attimes when data is at higher demand. Alternate embodiments may store theinformation in a variety of ways. In the present embodiment, theinformation may be accessed by any of the fields. For example, thesystem may use the call history information to match to a current timeof day and make control decisions accordingly.

[0038]FIG. 4 illustrates a flow diagram of a method of using andupdating the database. The process starts on initiation of acommunication by a user at step 202. At step 204 the base station or ANrecords the location of the user, as well as the time and servicedesired. At decision diamond 206, the decision is made to serve theuser. Such decision may be implemented by any of a variety of schedulingalgorithms. If the user is served, the process continues to step 208 toprocess the communication. Else, processing continues to step 210 todetermine patterns of user usage for the various users of the system. Asillustrated a total of N users is considered. The data rate to each useris then adjusted according to the determined patterns at step 212. Whenthe pattern of usage changes, the base station may determine to updatethe database. Note that the process 200 of FIG. 4 may be performed bythe base station or a Base Station Controller (BSC) or at a higher levelof control.

[0039] In one embodiment, the base station creates atransmission-scheduling plan and then adjusts according to actual usageas well as in response to updates in the database. FIG. 5 illustrates aprocess 300 performed by the BS, or at a higher level of control,wherein the BS creates a plan at step 302 and evaluates operation of thesystem at step 304. The BS updates the plan, or makes a temporary changeto the database that considers the current operating conditions at step306. The BS then determines the users to serve at step 308. In responseto step 306, the BS determines if a change is to be made to the storeddatabase at decision diamond 310. In other words, the BS determines ifthe current operating conditions include an anomaly or are a trend thatis to be reflected in the stored features. Subject to the decisioneither no change is made to the database at step 312 or the database isupdated at step 314.

[0040] In an alternate embodiment, the historical information of userusage is available for prediction of future usage, such as drivingroutes and patterns. Such predictions aid in scheduling users in asystem. By coupling such information to a Geographical InformationSystem (GIS) type database for traffic, traffic conditions may be.

[0041] A controller, such as a base station, according to one embodimentis illustrated in FIG. 6. The unit 400 includes receive circuitry 402,processor 404, transmit circuitry 408, processor 210, scheduler 412, andrate determination unit 414 in communication with the database 408 via acommunication bus 416. The rate determination unit 414 and the scheduler412 use information stored in the database to make decisions for theallocation of system resources. The database may include multipledatabases as described hereinabove. Similarly, alternate embodiments mayimplement a variety of memory structures for recovering the featureinformation, which is used as a priori input.

[0042] In one embodiment, the feature information is also stored at thewireless device. A device 500 is illustrated in FIG. 7 containingreceive circuitry 502, processor 504, transmit circuitry 506, andchannel quality unit 510 in communication with a database 508 via acommunication bus 514. The channel quality unit 510 provides informationto the database 508, which is stored for each user access. Additionally,the device 500 may monitor the channel quality and determine, based oninformation stored in the database, to prompt the user to initiate anaccess. For example, consider the case where USER 1 accesses stockquotes via the Internet each morning on route to work at time t1. Thechannel quality is at a first level during such access. The channelquality unit 510 may access this information stored in database 508 andmonitor the channel quality condition. The channel quality unit 510 maythen determine that the channel quality improves at time t2. The channelquality unit 510 sends a message to the processor to prompt the user tochange access time for this transmission. A feature evaluation unit 512may be implemented to evaluate the information stored in the database todetermine trends. The feature evaluation unit 512 is intended to isolateanomalies and identify changes is patterns of usage. When information isstored in the database, the feature evaluation unit 512 of oneembodiment performs statistical analysis to store averages and deviationinformation of the features. The function of the database is to storethe usage information and provide a tool to the device 500 (or in the BS400) for controlling accesses to the communication system.

[0043] As illustrated in FIG. 8, a given coverage area may be dividedinto bins. Note that the bins are indicated as a grid overlaying ageographical map, however, the bins may be any shape and may be ofdifferent sizes. Each bin is then characterized by a set of parameters,including topography, historical channel condition, percentage of timeaccesses are made from the bin to the network, etc. Each bin is given abin identifier, as mobile users travel within a system, the binidentifier is used to identify entry into a given bin by a mobile user.The set of parameters associated with the bin are then indexed by thebin identifier and used for scheduling purposes. The size of the binsmay be designed to provide coarse or fine adjustment depending on thegeographical area and usage patterns. When predicting a given mobileuser's travel route based on historical information, informationregarding those bins included on the predicted route is accessed inscheduling transmissions to that user. For example, if a user's travelroute is through five known bins, the system may retrieve the set ofparameters describing each of the five bins by the bin identifiers, anddetermine which bin(s) will allow the greatest data rate to that user.Transmission to the user is then scheduled to occur during a time rangewhen the user is predicted to enter those bins.

[0044] The set of parameters describing the bin could include currentinformation as well as historical information. Parameters may includeC/I of the FL and RL, average maximum data rate achievable, averagenumber of users, average loading, availability of other systems, such asan ad-hoc system, etc. The parameters may be calculated as a function oftime, wherein the parameters change throughout the day.

[0045] In real time, as the system is notified of the current binlocation of the user, the system is able to predict future bin(s) andschedule data transmissions accordingly. For example, the system maypredict that the user will pass through seven bins on a given timecourse. At the time of entry into the first and second bins, eachsupports a first high data rate. In contrast, the third, fourth andfifth have a poor channel condition (due to a building or otherstructure for example), and can only support a low data rate if any.Continuing on the predicted travel route, the sixth and seventh binssupport a second high data rate, different from the first. The systemmay divide the transmission into two parts. The first part of thetransmission is sent while the user is in bins one and two. Notransmission is sent while the user is in bins four and five. Thetransmission is held and not sent until the user is in bins six andseven. The system resources during these intervals could then be usedfor other users who are enjoying better channel conditions. The channelconditions of the future bins may come form the stored data or fromusers who are already moving through these bins. In this way, the systemdynamically adjusts to a current condition.

[0046] Note that according to the exemplary embodiment, the systemprepares multiple scenarios for scheduling data transmissions. The firstschedule is based on predicted travel routes. Such predictions involvespecific travel routes, through specific geographical bins, at specifictimes. The specific times may be a range of values. The system, however,considers that a user may not always follow the historical travel routesexactly and may vary from time to time. Therefore, the system alsodetermines alternate available routes that the user may take. The systemis currently comparing the real time usage patterns of the user to thepredictions and updating not only the database storing such information,but also updating the schedules prepared for transmitting data. In asystem, such as a High Data Rate (HDR) system, wherein typically onlyone user receives data at a time, such updating is very beneficial. Thesystem dynamically adjusts to changes in scheduling while allowing smartscheduling based on historical usage patterns.

[0047] There are many data services that are not delay sensitive,wherein the service can tolerate long delays and/or the long delays areacceptable to the user. In this case, the system will schedule thetransmission so as to optimize system resources and minimizeinterference. The system will schedule the transmission using the travelroute predictions. In this way, the system is able to schedule a portionor all of the data for transmission so as optimize resource managementprocessing. The user may specify a delivery time end point or a maximumdelay, or the system may determine such criteria. The user may identifya final destination, whereby the system is able to predict an arrivaltime and schedule the transmission prior to the arrival time. Within thetime period before the arrival time, the system may transmit theinformation at any time and in any manner supported by the user. Forexample, the transmission may be in parts, wherein the user is to storeeach part in memory until receiving all parts of the message ortransmission.

Mobility Routes

[0048] The user historical information may also be used to predictroutes for users within the system. As discussed hereinabove, a systemmay prepare contingency schedules, so as to dynamically adjust to thecurrent location of a user when such location is different from apredicted one. When a user strays from a predicted travel route, thesystem may prepare a new prediction from that point, or may wait to seeif the current path is minor modification of the predicted one. In thefirst case, a new set of schedules is prepared adjusting for the newpredicted routes. In the latter case, the time of the scheduling maychange to accommodate the new modification, however, much of thepredicted travel route used in the schedule is maintained. For example,a user may stop for refueling or to purchase supplies, etc., whiletraveling a predicted route. The minor stop will change the timing ofthe predicted travel, but not the rest of the travel route.

Channel Prediction

[0049] A database, or multiple databases, stored in the base station orthe mobile station, such as databases 408, 508, may also store specificinformation about the various travel routes within a geographical area.The information may be supplied by a Geographical Information System(GIS). The information for a given route or geographical area may thenbe mapped to user profiles. Information relating to the routesidentified may then be used in scheduling transmissions to a given user.The information relating to the routes may include information aboutroute conditions, including traffic conditions. Traffic conditions mayconsider congestion, probability of congestion-inducing event, such asaccidents. Such information may also consider the probability that thecondition of the route will change as a function of time of day, such asrush hour, or due to weather conditions. Note that according to oneembodiment, scheduling of transmissions considers the weather conditionsthat may incur delays in a user's travel time. Such time changes impactthe travel pattern of a user.

[0050] A variety of information may be used for schedulingtransmissions. Such information includes that information determined atsystem design. Additionally, a system may dynamically determine the typeof information that is desirable, based on performance of the system.For example, it may be determined, based on performance of the system,that additional information may be beneficial in predicting the channelstate of a given route in the geographical area or the channel stateassociated with a given user's travel route.

[0051] The information relating to the routes is then used to predictchannel conditions over time. Considering a given user having a travelroute for a given time period, the system will predict the channel statealong the route for the time period under consideration. The predictionof the channel condition at a specific geographical bin may beaccomplished based on stored data or based on data provided by otherwireless devices currently passing through these bins. Network planningtools and optimization tools may be used within a base station or remotestation to access the route information, as well as other information,and determine a data transmission schedule. Such tools may be used todetermine a long-term channel prediction. Interpolation may be used topredict channel states when only minimal information is available.Network planning tools may be implemented with measurement tools instoring and accessing information in the various databases.

Ad-Hoc and Hybrid Networks

[0052] A wireless “ad hoc” network is a collection of autonomous nodesor terminals that communicate with each other by forming a multi-hopradio network and by maintaining connectivity in a decentralized manner.Since the nodes communicate over wireless links, they have to contendwith the effects of radio communication, such as noise, fading, andinterference. In addition, the links typically have less bandwidth thanin a wired network. Each node in a wireless ad hoc network functions asboth a host and a router, and the control of the network is distributedamong the nodes. The network topology is in general dynamic, because theconnectivity among the nodes may vary with time due to node departures,new node arrivals, and the possibility of having mobile nodes. Hence,there is a need for efficient routing protocols to allow the nodes tocommunicate over multi-hop paths consisting of possibly several links ina way that does not use any more of the network “resources” thannecessary.

[0053] The concepts of predicted travel routes are also applicable to anad-hoc network. As the nodes are mobile, it is desirable to predictwhere each node will be at a given time with an accepted certainty orprobability. As a database is built including information for usagepatterns and location of each of the nodes, such information isavailable for scheduling not only transmissions within an ad-hocnetwork, but also the structure of the ad-hoc network. An ad-hoc networkis illustrated in FIG. 9, wherein the network 600 is defined by multiplehops or connections from a source node through intermediate nodes to adestination node.

[0054] Further, as illustrated in FIG. 10, a cellular system 700 (and/orPCS system) may interface with an ad-hoc network 600. As a user (notshown) moves throughout a geographical area, the user may enter into acoverage area that overlaps with the ad-hoc network 600. Transmissionsto the user may be scheduled according to the location of the userand/or a prediction of the future location of the user based onhistorical travel routes. For example, the system may postpone adownload to the user until the user enters the ad-hoc network 600.

[0055] The geographical area covering the cellular system 700 and ad-hocnetwork 600 may be divided into bins as described hereinabove. Thead-hoc network 600 may change with time as mobile nodes change location;the bin designations are updated over time to reflect the currentposition of the ad-hoc network 600.

[0056] The ad-hoc network 600 may save location information for each ofthe individual nodes making up the ad-hoc network 600. Such historicalinformation may be retrieved for use in determining thesource-to-destination path of the ad-hoc network 600 at a given time.The ad-hoc network 600 may select a node based on that node's longevityproximate to other nodes. For example, if a first node is to be anintermediary node, but the first node is typically transient, thenetwork may select a second node that is more stationary with respect tothe other nodes in the ad-hoc network 600. Similarly, the entirestructure of the ad-hoc network 600 making the source-to-destinationpath may be determined based on historical information of the locationand accessibility of individual nodes.

[0057] In one embodiment, when a system, such as a cellular, PCS,ad-hoc, hybrid, etc. determines that the user would like to download afile before arrival at a given destination, the system may schedule thedownload for an optimum time. For example, for a user traveling to aclient, the system may schedule the download for arrival at the client.The user may specify by when or by where to receive the download. Inthese situations, the download may be scheduled for a time when thesystem anticipates the user will have access to a Wireless Local AreaNetwork (WLAN), such as a “Wi-Fi” network. A Wi-Fi network may be one asdesignated by the standard entitled “IEEE 802.11 Working Group forWireless Local Area Networks.”

Downloads and Uploads

[0058] Downloads may be optimized by the use of historical usageinformation on a per user basis, wherein downloads may be performed atan optimum time for the system and stored in memory for later access bythe user. For example, newly received email messages may be downloadedwhen the conditions of system loading and mobile user position andchannel condition are optimum. The email messages may then be stored inmemory at the mobile station and later retrieved by the user. Other datatransmissions that are not delay sensitive may be handled similarly. Theoptimization technique is also applicable to uploading information fromthe mobile station to the network.

[0059] In one embodiment, the user specifies a maximum allowable delay.The user may specify such delay as a final destination. In this case,the system calculates the expected arrival time at the finaldestination, given the historical information of the user, and then setsthe maximum allowable delay accordingly. For example, if a user travelswithin a specified area each day within a specified time period, butarrives at a known location at a specific time each day, the user maydesire to receive all current email messages before reaching the knownlocation, which may be a home office, etc. The system then retrieves theuser information and determines at what time the user typically reachesthat destination. The delay time is set accordingly. The system may thenprocess emails by transmission to the user within the allowable delaytime.

[0060] In an alternate embodiment, downloads are scheduled so as tominimize the cost to the user. As the user enters an area of goodchannel quality, the system anticipates such condition and schedulesdownloads to transmit while the channel quality is good, and therefore,the data rate is maximized for the user. Transmission at a higher datarate reduces the airtime of the communication and thus may reduce thecost to the user.

[0061] Still another embodiment schedules downloads to optimize thesystem resources. When the demands on the system are low, downloads arescheduled so as to utilize the system resources efficiently.

[0062] Those of skill in the art would understand that information andsignals may be represented using any of a variety of differenttechnologies and techniques. For example, data, instructions, commands,information, signals, bits, symbols, and chips that may be referencedthroughout the above description may be represented by voltages,currents, electromagnetic waves, magnetic fields or particles, opticalfields or particles, or any combination thereof.

[0063] Those of skill would further appreciate that the variousillustrative logical blocks, modules, circuits, and algorithm stepsdescribed in connection with the embodiments disclosed herein may beimplemented as electronic hardware, computer software, or combinationsof both. To clearly illustrate this interchangeability of hardware andsoftware, various illustrative components, blocks, modules, circuits,and steps have been described above generally in terms of theirfunctionality. Whether such functionality is implemented as hardware orsoftware depends upon the particular application and design constraintsimposed on the overall system. Skilled artisans may implement thedescribed functionality in varying ways for each particular application,but such implementation decisions should not be interpreted as causing adeparture from the scope of the present invention.

[0064] The various illustrative logical blocks, modules, and circuitsdescribed in connection with the embodiments disclosed herein may beimplemented or performed with a general purpose processor, a digitalsignal processor (DSP), an application specific integrated circuit(ASIC), a field programmable gate array (FPGA) or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general purpose processor may be a microprocessor,but in the alternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

[0065] The steps of a method or algorithm described in connection withthe embodiments disclosed herein may be embodied directly in hardware,in a software module executed by a processor, or in a combination of thetwo. A software module may reside in RAM memory, flash memory, ROMmemory, EPROM memory, EEPROM memory, registers, hard disk, a removabledisk, a CD-ROM, or any other form of storage medium known in the art. Anexemplary storage medium is coupled to the processor such the processorcan read information from, and write information to, the storage medium.In the alternative, the storage medium may be integral to the processor.The processor and the storage medium may reside in an ASIC. The ASIC mayreside in a user terminal. In the alternative, the processor and thestorage medium may reside as discrete components in a user terminal.

[0066] The previous description of the disclosed embodiments is providedto enable any person skilled in the art to make or use the presentinvention. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein may be applied to other embodiments without departing from thespirit or scope of the invention. Thus, the present invention is notintended to be limited to the embodiments shown herein but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A remote station apparatus comprising: databasestoring usage features for the apparatus; channel quality unit coupledto the database; and statistical processing unit coupled to thedatabase, adapted to analyze the usage features and determine usagepatterns.
 2. The apparatus of claim 1, wherein the usage featuresinclude location of the apparatus as a function of time.
 3. Theapparatus of claim 1, wherein the usage features include type of servicerequested as a function of time.
 4. The apparatus of claim 1, whereinthe usage features include channel quality as a function of time.
 5. Amethod in a wireless communication system, comprising: processing a dataservice at a remote station over a first time period; determining achannel quality for the data service over the first time period; storingusage features for the data service over the first time period;statistically processing the usage features to determine usage patterns.6. The method as in claim 5, further comprising: scheduling a seconddata service based on the usage patterns.
 7. The method as in claim 5,further comprising: transmitting the usage patterns to a centralcontroller in the wireless communication system.
 8. A remote stationapparatus comprising: a control processor for: determining at least oneusage feature of the apparatus; storing the at least one usage featurein a database; and using the database to control the apparatus.
 9. Amethod for scheduling transmissions in a wireless communication system,comprising: receiving a call initiate request from a remote station;storing usage features for the remote station; scheduling a transmissionbased on the usage features; and processing the request.
 10. A methodfor scheduling transmissions in a wireless communication system,comprising: storing usage features for remote stations in the system;analyzing the usage features to determine usage patterns; and schedulingtransmissions according to the usage patterns.
 11. The method as inclaim 10, wherein the wireless communication system is an ad-hoc system,the method further comprising: determining a source-to-destination pathfor the ad-hoc network.
 12. The method as in claim 10, furthercomprising: receiving a request for a data transmission from a remotestation; determining a final destination for the remote station; andscheduling the data transmission for completion by the finaldestination.
 13. The method as in claim 12, wherein the finaldestination is identified by a maximum allowable delay.
 14. The methodas in claim 10, wherein scheduling transmissions comprises: determiningavailable resources in the system; analyzing the usage patterns; anddetermining a data rates for a plurality of remote stations.
 15. Themethod as in claim 10, wherein: storing usage features, comprisesupdating usage features dynamically as such usage features change. 16.The method as in claim 10, wherein: analyzing the usage features todetermine usage patterns, comprises: receiving current usage informationfrom at least one user; and analyzing the current usage information. 17.The method as in claim 16, wherein: scheduling transmissions accordingto the usage patterns, comprises: scheduling transmissions based on atleast one of the stored usage features and the current usageinformation.
 18. An apparatus, comprising: means for processing a dataservice at a remote station in a wireless communication system over afirst time period; means for determining a channel quality for the dataservice over the first time period; means for storing usage features forthe data service over the first time period; and means for statisticallyprocessing the usage features to determine usage patterns.
 19. A remotestation apparatus, comprising: memory configured to store a database ofusage features for the apparatus; and a processing unit configured to:determine a channel quality unit; and statistically analyze the usagefeatures and determine usage patterns.
 20. An apparatus for schedulingtransmissions in a wireless communication system, comprising: means forreceiving a call initiate request from a remote station; means forstoring usage features for the remote station; means for scheduling atransmission based on the usage features; and means for processing therequest.
 21. An apparatus for scheduling transmissions in a wirelesscommunication system, comprising: means for storing usage features forremote stations in the system; means for analyzing the usage features todetermine usage patterns; and means for scheduling transmissionsaccording to the usage patterns.
 22. The apparatus as in claim 21,wherein the usage features are stored according to geographical bins.23. The apparatus as in claim 22, further comprising: means forpredicting channel condition for at least one geographical bin, whereinthe means for scheduling transmissions comprises means for schedulingtransmissions according to usage patterns and channel conditionprediction.
 24. The apparatus as in claim 23, wherein the means foranalyzing comprises means for predicting channel condition is based ondata provided by wireless devices passing through the at least onegeographical bin.